# @Author：silence
# @Email：792245022@qq.com
# @Date：2025/2/17 21:31

"""
1、构造方法（构造器）基本语法
def __init__(self, 参数列表):
    代码...

1）在初始化对象时，会自动执行 __init__ 方法
2）在初始化对象时，将传入的参数，自动传递给 __init__ 方法
3）构造方法时 py 预定义的，名称是 __init__。

2、一个类只有一个 __init__ 方法，即使你写了多个，也只有最后一个生效

3、python 可以动态的生成对象属性

4、构造方法不能有返回值
"""

# class Person:
#
#     name = None
#     age = None
#
#     def __init__(self, name, age):
#         """
#         构造方法时完成对象的初始化任务
#         :param name:
#         :param age:
#         """
#         self.name = name
#         self.age = age
#         print("__init__ 执行了...")
#
# p1 = Person("silence", 18)

class Person:

    def __init__(self, name, age):
        # Python 支持动态生成对象属性
        print(f"__init__ 执行了... 得到了 {name} {age}")
        self.name = name
        self.age = age

p1 = Person("tim", 30)
print(f"p1 的 name = {p1.name}, age = {p1.age}")